In recent years, various kinds of techniques for developing business applications have been produced. For example, a technique has existed that is used for creating a business application using a business data model and a business flow model, defined by a developer.
FIG. 30, FIG. 31, and FIG. 32 are diagrams for explaining an example of a technique of the related art, used for creating a business application. FIG. 30 illustrates an example of a business data model defined by a developer. In addition, FIG. 31 illustrates an example of a business flow model defined by the developer.
An entity “Lending” in the business data model illustrated by the example of FIG. 30 indicates the set of data to be input to a terminal by a lender who lends out a book, in a service in a library where the book is lent out. The entity “Lending” includes various kinds of data such as the lending date of the book, the name of the lender who lends out the book, and the title of the lent book. In addition, an entity “member” indicates the set of data relating to a member who borrows a book. The entity “member” includes various kinds of data such as the member ID of the member who borrows a book, the name of the member, and the address of the member.
The business flow model illustrated in FIG. 31 indicates, for example, the business flow of a lender of a book in a library. The business flow model illustrated in FIG. 31 indicates that when a book is lent to a member, a lender inputs, to a terminal, the set of data (“Lending” information) indicated by the entity “Lending”. In addition, the business flow model in FIG. 31 indicates that after the lender has input the “Lending” information to the terminal, the terminal verifies whether or not the “Lending” information is unauthorized information. Here, the business flow model in FIG. 31 indicates that when the “Lending” information is unauthorized information, the lender inputs the “Lending” information to the terminal again. In addition, the business flow model in FIG. 31 indicates that when the “Lending” information is not unauthorized information, the business flow is terminated.
A technique of the related art, used for creating a business application, creates the business application using a business data model and a business flow model. For example, a technique of the related art, used for creating a business application, creates the business application using the business data model illustrated in FIG. 30 and the business flow model illustrated in FIG. 31. The created business application is executed by the terminal. As illustrated in the example of FIG. 32, the business application executed by the terminal creates a screen used for inputting the “Lending” information, and causes the screen to be displayed in a display device. In addition, when an “add” button is held down after a lending date, a lender, and a title have been input to the items of “Lending Date”, “Lender”, and “Title” in the displayed screen, respectively, the business application performs the following processing operation. In other words, the business application verifies whether or not the pieces of information of the lending date, the lender, and the title, which have been input, are pieces of unauthorized information. In addition, when the pieces of information of the lending date, the lender, and the title, which have been input, are pieces of unauthorized information, the business application discards the registration contents of the items of “Lending Date”, “Lender”, and “Title”, and prompts the lender to input again.
In addition, there has been a technique for creating a new business flow model by applying a difference module to a business flow model. Here, an example of a difference module will be described. A difference module includes an application condition where the condition of a component in a business flow model to which the difference module is to be applied is described, and an application effect where a component in the business flow model when the difference module is applied is described. FIG. 33 is a diagram illustrating an example when a difference module is schematically illustrated. In a difference module serving as the example of FIG. 33, a case is illustrated where a condition that a task of a business flow model, “**Is Input” (**: an arbitrary character string, a wild card), is connected to an end terminal “End” is described as an application condition. In addition, in the difference module serving as the example of FIG. 33, there is described an application effect that when a component in a business flow model satisfies an application condition, the following task is inserted between the task “**Is Input” and the end terminal “End”. In other words, in the difference module serving as the example of FIG. 33, there is described an application effect that a task of branch “**Is Unauthorized?” (**: an arbitrary character string, a wild card) is inserted. In addition, in the difference module serving as the example of FIG. 33, there is described an application effect that a branch destination at the time of the affirmation of the task of branch is set to the task “**Is Input” and a branch destination at the time of the negation thereof is set to the end terminal “End”.
FIG. 34 is a diagram illustrating an example of a business flow model. Here, a case will be described where the difference module serving as the example of FIG. 33 is applied to the business flow model illustrated in FIG. 34. In the business flow model illustrated in the example of FIG. 34, a task “Lending Information Is Input” is connected to the end terminal “End”. Therefore, a component in the business flow model illustrated in the example of FIG. 34 satisfies the application condition described in the difference module serving as the example of FIG. 33. Since satisfying the application condition, the difference module serving as the example of FIG. 33 turns out to be applied to the business flow model illustrated in the example of FIG. 34. FIG. 35 is a diagram illustrating an example of a business flow model after the difference module has been applied. As illustrated in the example of FIG. 35, when the difference module serving as the example of FIG. 33 has been applied to the business flow model illustrated in the example of FIG. 34, a task of branch “Lending Information Is Unauthorized?” is inserted between the task “Lending Information Is Input” and the end terminal “End”. In addition, as illustrated in the example of FIG. 35, a branch destination at the time of the affirmation of the task of branch is set to the task “Lending Information Is Input” and a branch destination at the time of the negation thereof is set to the end terminal “End”.
Using such a method as described above, a technique of the related art, used for creating a business flow model, creates a new business flow model by applying a difference module to a business flow model.
In addition, there has exited a related technique where a person in charge of development registers the deliverables of a document and a program with adding thereto tag information indicating the relation of design information, and manages the assets of the document and the program. Japanese Laid-open Patent Publication No. 2008-123432 is an example of such a related technique.
Incidentally, it may be considered that a difference module applied to a business flow model is reused and applied to another business flow model. For example, it may be considered that a storage device is caused to store therein a plurality of difference modules and the developer of a business flow model acquires a desired difference module from the storage device and applies the acquired difference module to another business flow model. In this case, it may be considered that the developer attaches a tag used for search to each of the difference modules so as to efficiently acquire a difference module. However, a large number of difference modules tend to exist that are reused for a small number of business flow models. Therefore, there is a problem that it may be difficult for the developer to attach a tag to each of a large number of difference modules.
In addition, a method may also be considered where a tag used for searching for a difference module is automatically created using a character string described in the difference module. However, for example, as illustrated in the example of FIG. 33, a wild card or the like is described in the difference module, and in a case where a tag is created using the wild card, since the character string of the tag is arbitrary, the created tag turns out to match a large number of search character strings. Therefore, when a tag used for searching for a difference module is created using a character string described in a difference module, it may be difficult to search for a difference module desired by the developer, using the created tag.
In addition, such a problem is not limited to the case where the tag used for searching for a difference module is created, and in the same way, such a problem also exists when tags used for searching for many kinds of software or various documents are created.